var fastXmlParser = require('fast-xml-parser');
var ejs = require('ejs');
var path = require('path');

//3.配置
// when a tag has attributes
var options = {
    attrPrefix : "@_",/*属性的前缀*/
    attrNodeName: "attr", /*属性节点的容器名称*/
    textNodeName : "text",/*文本节点的名称,不能有子标签*/
    ignoreNonTextNodeAttr : false,/*忽略单节点属性*/
    ignoreTextNodeAttr : false,/*忽略文本节点属性*/
    ignoreNameSpace : true,/*忽略命名空间*/
    ignoreRootElement : false,/*忽略根节点*/
    textNodeConversion : true,/*文本节点类型自动转换*/
    textAttrConversion : true,/*属性节点类型自动转换*/
    arrayMode : true
};



let fs=require('fs');
fs.readFile('/Users/mill/git/mill-sam/src/main/resources/xml/table.xml',function (err,content) {
	let xmlData=content.toString();

	//4.解析
	if(fastXmlParser.validate(xmlData)=== true){//optional
		// var jsonObj = fastXmlParser.parse(xmlData,options);
	    var tObj = fastXmlParser.getTraversalObj(xmlData,options);
	    var jsonObj = fastXmlParser.convertToJson(tObj);
	    jsonObj.util={
	    	assert:function(condition,message){
	    		if(!condition){
	    			throw new Error(message);
	    		}
	    	}
	    }
	    console.log(path.resolve(__dirname,'template','mysql_create_table.ejs'));
	    let result=ejs.renderFile(path.resolve(__dirname,'template','mysql_create_table.ejs')
	    	,jsonObj,{},function (err,str) {
	    		if(err)console.error(err);
	    	console.log(str)
	    });
	}
});